/**
 * 文件名：@AbstractHandlerMethodParameterRequestBodyInterceptor.java <br/>
 * 包名：cn.efunbox.afw.web.mvc.interceptor <br/>
 * 项目名：afw-web <br/>
 * @author xtwin <br/>
 */
package cn.efunbox.afw.web.mvc.interceptor;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.method.HandlerMethod;

/**
 * 类名：AbstractHandlerMethodParameterRequestBodyInterceptor  <br />
 *
 * 功能：接受org.springframework.web.method.HandlerMethod类型的处理器，且处理方法带有参数
 *
 * @author xtwin <br />
 * 创建时间：2016年7月27日 下午4:11:21  <br />
 * @version 2016年7月27日
 */
public abstract class AbstractHandlerMethodParameterRequestBodyInterceptor extends AbstractRequestBodyInterceptor {

	/**
	 * 功能: 接受org.springframework.web.method.HandlerMethod类型的处理器，且处理方法带有参数 <br/>
	 * 
	 * 重写：xtwin <br/>
	 * 
	 * @version ：2016年7月27日 下午4:11:55<br/>
	 * 
	 * @param request
	 * @param response
	 * @param handler
	 * @return <br/>
	 * @see cn.efunbox.afw.web.mvc.interceptor.AbstractRequestBodyInterceptor#accept(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.Object)
	 */
	@Override
	protected boolean accept(HttpServletRequest request, HttpServletResponse response, Object handler) {
		return handler instanceof HandlerMethod 
				&& ((HandlerMethod) handler).getMethodParameters().length > 0 
				&& super.accept(request, response, handler);
	}
}
